-- XSD schema extracted from ITU-T X.1195 (02/2011)
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns:iwp="urn:itu-t:sg17:2010:04-iwp"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
targetNamespace="urn:itu-t:sg17:2010:04-iwp"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<import namespace="http://www.w3.org/2001/04/xmlenc#"
schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>
<import namespace="http://www.w3.org/2000/09/xmldsig#"
schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
<!-- Elements -->
<element name="authenticationHelloRequest" type="iwp:AuthenticationHelloRequest"/>
<element name="authenticationHelloResponse" type="iwp:AuthenticationHelloResponse"/>
<element name="authenticationRequest" type="iwp:AuthenticationRequest"/>
<element name="authenticationResponse" type="iwp:AuthenticationResponse"/>
<element name="negotiationRequest" type="iwp:NegotiationRequest"/>
<element name="negotiationResponse" type="iwp:NegotiationResponse"/>
<element name="transmissionHelloRequest" type="iwp:TransmissionHelloRequest"/>
<element name="transmissionHelloResponse" type="iwp:TransmissionHelloResponse"/>
<element name="identificationRequest" type="iwp:IdentificationRequest"/>
<element name="identificationResponse" type="iwp:IdentificationResponse"/>
<element name="transmissionRequest" type="iwp:TransmissionRequest"/>
<element name="transmissionResponse" type="iwp:TransmissionResponse"/>
<!-- Basic Types -->
<complexType name="Request" abstract="true"/>
<complexType name="Response" abstract="true">
<attribute name="status" type="string" use="required"/>
</complexType>
<simpleType name="Version">
<restriction base="string">
<pattern value="\d{1,2}\.\d{1,9}"/>
</restriction>
</simpleType>
<complexType name="idListType">
<sequence>
<element name="id" type="anyURI" maxOccurs="unbounded"/>
</sequence>
</complexType>
<simpleType name="Nonce">
<restriction base="base64Binary">
<minLength value="16"/>
<maxLength value="512"/>
</restriction>
</simpleType>
<complexType name="Extensions">
<sequence maxOccurs="unbounded">
<any namespace="##any" minOccurs="0"/>
</sequence>
<attribute name="critical" type="boolean"/>
</complexType>
<complexType name="Identifier">
<sequence>
<element name="keyIdentifier" type="base64Binary"/>
</sequence>
</complexType>
<simpleType name="TransmissionRequestControlType">
<restriction base="string">
<enumeration value="start"/>
<enumeration value="finish"/>
</restriction>
</simpleType>
<simpleType name="TransmissionResponseControlType">
<restriction base="string">
<enumeration value="pause"/>
<enumeration value="resume"/>
<enumeration value="finish"/>
</restriction>
</simpleType>
<!-- iwp-TransmissionHelloRequest-->
<complexType name="TransmissionHelloRequest">
<complexContent>
<extension base="iwp:Request">
<sequence>
<element name="entityId" type="iwp:Identifier"/>
<element name="extensions" type="iwp:Extensions" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- iwp-TransmissionHelloResponse -->
<complexType name="TransmissionHelloResponse">
<complexContent>
<extension base="iwp:Response">
<sequence>
<element name="entityId" type="iwp:Identifier"/>
<element name="nonce" type="iwp:Nonce"/>
<element name="extensions" type="iwp:Extensions" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- iwp-AuthenticationHelloRequest -->
<complexType name="AuthenticationHelloRequest">
<complexContent>
<extension base="iwp:Request">
<sequence>
<element name="protocolVersion" type="iwp:Version"/>
<element name="authenticationMethods" type="iwp:idListType"/>
<element name="extensions" type="iwp:Extensions" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- iwp-AuthenticationHelloResponse -->
<complexType name="AuthenticationHelloResponse">
<complexContent>
<extension base="iwp:Response">
<sequence>
<element name="protocolVersion" type="iwp:Version"/>
<element name="selectedAuthenticationMethod" type="anyURI"/>
<element name="extensions" type="iwp:Extensions" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- iwp-AuthenticationRequest -->
<complexType name="AuthenticationRequest" abstract="true"/>
<complexType name="AuthenticationResponse" abstract="true"/>
<!-- iwp-NegotationRequest -->
<complexType name="NegotiationRequest">
<complexContent>
<extension base="iwp:Request">
<sequence>
<element name="items" type="iwp:NegotiationRequestItemType"/>
<element name="nonce" type="iwp:Nonce"/>
<element name="extensions" type="iwp:Extensions" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- iwp-NegotiationResponse -->
<complexType name="NegotiationResponse">
<complexContent>
<extension base="iwp:Response">
<sequence>
<element name="items" type="iwp:NegotiationResponseItemType"/>
<element name="extensions" type="iwp:Extensions" minOccurs="0"/>
<element name="signature" type="base64Binary"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="NegotiationRequestItemType">
<sequence>
<element name="rightsFormats" type="iwp:idListType"/>
<element name="metadataFormats" type="iwp:idListType"/>
<element name="secureChannels" type="iwp:idListType"/>
</sequence>
</complexType>
<complexType name="NegotiationResponseItemType">
<sequence>
<element name="selectedRightsFormat" type="anyURI"/>
<element name="selectedMetadataFormat" type="anyURI"/>
<element name="selectedSecureChannel" type="anyURI"/>
</sequence>
</complexType>
<!-- iwp-IdentificationRequest -->
<complexType name="IdentificationRequest">
<complexContent>
<extension base="iwp:Request">
<sequence>
<element name="nonce" type="iwp:Nonce"/>
<element name="extensions" type="iwp:Extensions" minOccurs="0"/>
<element name="signature" type="base64Binary"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- iwp-IdentificationResponse -->
<complexType name="IdentificationResponse">
<complexContent>
<extension base="iwp:Response">
<sequence>
<element name="extensions" type="iwp:Extensions" minOccurs="0"/>
<element name="signature" type="base64Binary"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- iwp-TransmissionRequest -->
<complexType name="TransmissionRequest">
<complexContent>
<extension base="iwp:Request">
<attribute name="controlCommand" type="iwp:TransmissionRequestControlType" use="required"/>
</extension>
</complexContent>
</complexType>
<!-- iwp-TransmissionResponse -->
<complexType name="TransmissionResponse">
<complexContent>
<extension base="iwp:Response">
<attribute name="controlCommand" type="iwp:TransmissionResponseControlType" use="required"/>
</extension>
</complexContent>
</complexType>
</schema>